package com.findmeastore.dao.impl;

import java.util.List;

import org.hibernate.SessionFactory;
import org.springframework.dao.support.DataAccessUtils;
import org.springframework.orm.hibernate3.HibernateTemplate;

import com.findmeastore.bo.BrandBo;
import com.findmeastore.dao.IBrandDAO;


public class BrandDAOImpl implements IBrandDAO{
	
	private HibernateTemplate hibernateTemplate;
	
	public void setSessionFactory(SessionFactory sessionFactory){
		this.hibernateTemplate = new HibernateTemplate(sessionFactory);
	}
	
	public Integer getTotalBrandCount(){
		return DataAccessUtils.intResult(hibernateTemplate.find("select count(*) from BrandBo"));
	}
	
	public List<BrandBo> getAllBrands() {
		return hibernateTemplate.find("from BrandBo");
	}
	
	public BrandBo getBrandById(Integer id){
		return (BrandBo)hibernateTemplate.get(BrandBo.class, id);
	}
	
	public void saveBrand(BrandBo brandBo){
		hibernateTemplate.saveOrUpdate(brandBo);
	}

	public HibernateTemplate getHibernateTemplate() {
		return hibernateTemplate;
	}

	public void setHibernateTemplate(HibernateTemplate hibernateTemplate) {
		this.hibernateTemplate = hibernateTemplate;
	}
}
